package com.virgo.demo.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.virgo.common.entity.ListDataVo;
import com.virgo.demo.system.domain.AdminRoleDo;
import com.virgo.demo.system.domain.bo.AdminRoleBo;
import com.virgo.demo.system.domain.vo.AdminRoleVo;
import jakarta.servlet.http.HttpServletRequest;

public interface AdminRoleService extends IService<AdminRoleDo> {

	/**
	 * 根据角色名称查找
	 * @param name String
	 * @return AdminRoleDo
	 */
	AdminRoleDo loadByName(String name);

	/**
	 * 编辑角色
	 * @param adminRoleBo AdminRoleBo
	 */
	void saveAdminRole(AdminRoleBo adminRoleBo);

	/**
	 * 修改状态
	 * @param id Long
	 * @param status Integer
	 */
	void updateStatus(Long id, Integer status);

	/**
	 * 删除角色
	 * @param ids String
	 */
	void deleteAdminRole(String ids);

	/**
	 * 角色详情
	 * @param id Long
	 * @return AdminRoleVo
	 */
	AdminRoleVo findInfo(Long id);

	/**
	 * 角色列表
	 * @param request HttpServletRequest
	 * @return ListDataVo<AdminRoleVo>
	 */
	ListDataVo<AdminRoleVo> findList(HttpServletRequest request);

}